<?php
	require_once('config.php');
	class ORMBanco{
		function __construct(){}
		private static function getConexion(){
			global $CONFIG;
			$con = ADONewConnection ('odbc_mssql');

			if (!$con->Connect ("Driver={SQL Server}; Server={$CONFIG['db_server']}; Database={$CONFIG['db_database']};",
				$CONFIG['db_user'], $CONFIG['db_password']))
				throw new Exception ("No se pudo realizar la conexión con la base de datos.");

			return $con;
		}
		static function getItems($cantidad,$omitir){
			$con=ORMBanco::getConexion();
			$rs=$con->Execute("EXECUTE ListarBancos ?,?", array($cantidad,$omitir));
			if(!$rs) 
				return array();
			$datos = array();
			while(!$rs->EOF){
				$f = $rs->fields;
				$datos[] = array(
					'id' => $f[0],
					'nombre' => $f[1]
				);
				$rs->MoveNext();
			}
			$rs->close();
			$con->close();

			return $datos;
		}

		static function getBancos(){
			$con=ORMBanco::getConexion();
			$rs=$con->Execute("EXECUTE ListarBancos 1000, 0");
			if(!$rs) 
				return array();
			$datos = array();
			while(!$rs->EOF){
				$f = $rs->fields;
				$datos[] = array(
					'id' => $f[0],
					'value' => $f[1]
				);
				$rs->MoveNext();
			}
			$rs->close();
			$con->close();

			return $datos;
		}

		static function GuardarBanco($nombre){
			$con=ORMBanco::getConexion();
			$rs=$con->Execute("EXECUTE AgregarBanco ?",array($nombre));
			if(!$rs) return false;
			
			$rs->close();
			$con->close();

			return true;
		}
		static function ActualizarBanco($nombre,$id){
			$con=ORMBanco::getConexion();
			$rs=$con->Execute("EXECUTE ActualizarBanco ?,?",array($nombre,$id));
			if(!$rs) return false;
			
			$rs->close();
			$con->close();

			return true;
		}
		static function EliminarBanco($id){
			$con=ORMBanco::getConexion();
			$rs=$con->Execute("EXECUTE EliminarBanco ?",array($id));
			if(!$rs) return false;
			
			$rs->close();
			$con->close();

			return true;
		}
		static function ContarBancos(){
			$con=ORMBanco::getConexion();
			$rs=$con->Execute("EXECUTE ContarBancos");
			if(!$rs) return 0;

			$f = $rs->fields[0];

			$rs->close();
			$con->close();

			return $f;
		}
	}
?>